﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace DataObjects
{
    public class Fornecedor : INotifyPropertyChanged
    {
        private int _Id;

        public int Id
        {
            get { return _Id; }
            set { _Id = value; }
        }

        private string _TipoFornecedor;

        public string TipoFornecedor
        {
            get { return _TipoFornecedor; }
            set { _TipoFornecedor = value; }
        }

        private string _RazaoSocial;

        public string RazaoSocial
        {
            get { return _RazaoSocial; }
            set { _RazaoSocial = value; }
        }

        private string _NomeFantasia;

        public string NomeFantasia
        {
            get { return _NomeFantasia; }
            set { _NomeFantasia = value; }
        }

        private string _Cnpj;

        public string Cnpj
        {
            get { return _Cnpj; }
            set { _Cnpj = value; }
        }

        private string _FoneAberto;

        public string FoneAberto
        {
            get { return _FoneAberto; }
            set { _FoneAberto = value; }
        }

        private DateTime _DtAbertura;

        public DateTime DtAbertura
        {
            get { return _DtAbertura; }
            set { _DtAbertura = value; }
        }

        private string _NomeCompleto;

        public string NomeCompleto
        {
            get { return _NomeCompleto; }
            set { _NomeCompleto = value; }
        }

        private int _Cpf;

        public int Cpf
        {
            get { return _Cpf; }
            set { _Cpf = value; }
        }

        private DateTime _DtNascimento;

        public DateTime DtNascimento
        {
            get { return _DtNascimento; }
            set { _DtNascimento = value; }
        }

        private string _FoneFixoComercial;

        public string FoneFixoComercial
        {
            get { return _FoneFixoComercial; }
            set { _FoneFixoComercial = value; }
        }

        private string _FoneFixoResidencial;

        public string FoneFixoResidencial
        {
            get { return _FoneFixoResidencial; }
            set { _FoneFixoResidencial = value; }
        }

        private string _Celular1;

        public string Celular1
        {
            get { return _Celular1; }
            set { _Celular1 = value; }
        }

        private string _Celular2;

        public string Celular2
        {
            get { return _Celular2; }
            set { _Celular2 = value; }
        }

        private string _Email;

        public string Email
        {
            get { return _Email; }
            set { _Email = value; }
        }

        private string _Logradouro;

        public string Logradouro
        {
            get { return _Logradouro; }
            set { _Logradouro = value; }
        }

        private string _Numero;

        public string Numero
        {
            get { return _Numero; }
            set { _Numero = value; }
        }

        private string _Complemento;

        public string Complemento
        {
            get { return _Complemento; }
            set { _Complemento = value; }
        }

        private string _Bairro;

        public string Bairro
        {
            get { return _Bairro; }
            set { _Bairro = value; }
        }

        private string _Cidade;

        public string Cidade
        {
            get { return _Cidade; }
            set { _Cidade = value; }
        }

        private List<Compra> _Compras;

        internal List<Compra> Compras
        {
            get { return _Compras; }
            set { _Compras = value; }
        }

        private List<Contato> _Contatos;

        internal List<Contato> Contatos
        {
            get { return _Contatos; }
            set { _Contatos = value; }
        }

        private List<DadosBancarios> _DadosBancarios;

        internal List<DadosBancarios> DadosBancarios
        {
            get { return _DadosBancarios; }
            set { _DadosBancarios = value; }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(string name)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }

        #endregion
        
    }
}
